home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / text / misc / nroff.lha / nroff / README < prev    next >
Text File  |  1997-01-24  |  6KB  |  166 lines

  1. ------------------------------------
  2. nroff (TOS, Minix) v1.10 7/22/90 wjr
  3. ------------------------------------
  4.  
  5. This is an improved release of a version of nroff for both TOS and Unix
  6. (Minix and BSD). It was written under TOS and 4BSD unix but has been
  7. released with Minix 1.5.5 as well. Unfortunately I have no access to Minix
  8. so I do not know if this particular version will work correctly under Minix.
  9. It does run under both SunOS and Convex, both BSD, so i feel pretty confident
  10. that it should run under Minix. You will need to change the makefile
  11. regardless. I use Alcyon and my own cc(1).
  12.  
  13. Besides small bug fixes, these are some new features since v0.99 (BETA):
  14.  
  15.     - added .if command which makes it possible to make a reasonable
  16.       ms package
  17.  
  18.     - fixed the bug where line filling on lines containing standout
  19.       would not fill properly
  20.  
  21.     - added a -ms package which is not half bad
  22.  
  23.     - enhanced the -man package
  24.  
  25. Much of this works. The things that (still) don't are all the hard things:
  26. diversions, traps, conditionals, etc. See the man pages for what is not
  27. supported (yet). Font switching, underlining, etc. are limited to reverse
  28. video on the screen (TOS).
  29.  
  30. There are decent man and ms packages included (tmac.an and tmac.s) which are
  31. not perfect but then they are not half bad either. To make them better, nroff
  32. needs diversions and traps, something that I will eventually do. They should
  33. handle most common man tasks, though. They get installed in /usr/lib/tmac
  34. under Minix and c:\lib\tmac under atari TOS, unless you change the location
  35. in nroff.h. For testing, you can
  36.  
  37.     % setenv TMACDIR .
  38.     % nroff -man file
  39.  
  40. to use tmac.an (say) in the cwd.
  41.  
  42. For porting info, look in config.h, nroff.h and the makefile. The termcap
  43. library is used to get standout capabilites for doing bold and italics to
  44. the screen (Minix and Unix). The TOS version has these hardwired to the
  45. vt52 escapes. Minix and BSD have termcap(3) and S5R3 has terminfo, which I
  46. believe also includes the tgetent/tgetnum/tgetflag/tgetstr functions for
  47. compatibility. Note that the Sun /etc/termcap includes padding in some of
  48. the definitions which I strip out. See main.c.
  49.  
  50. If you want to try and use nroff for printer output, the termcap library
  51. (Minix and Unix only) looks for TERMCAP in your environment (a file) so
  52. that you could do:
  53.  
  54.     % env TERMCAP=printer_termcap_file nroff -man file
  55.  
  56. and substitute your own file with "so" (standout) for your printer. This
  57. assumes your system has env, but you get the idea.
  58.  
  59. The program is small enough to work under Minix. It does not have a large
  60. stack, but does store all macros and strings in a common namespace. Look
  61. in nroff.h for the size.
  62.  
  63. If you do hack away, I would appreciate you sending me the changes so I can
  64. keep this centralized.
  65.  
  66. The future holds increased capabilites, though I find it pretty useful
  67. as it is. Most man things are possible and you can do reports and resumes
  68. and such without much problem. See the example files included as well as
  69. the manpage sources (nroff.man, man.man, ms.man) and the macro libraries
  70. (tmac.an and tmac.s) for more help. Most people do not write macro libraries
  71. but rather use the predefined macros (-man and -ms) which are supported
  72. pretty well at this point.
  73.  
  74. Things to do include:
  75.  
  76.     - support for "block" if's, i.e.
  77.  
  78.         .if condition \{\
  79.         ...
  80.         ...
  81.         ... \}
  82.  
  83.     - support for .ie/.el (if/else)
  84.  
  85.     - traps, diversions
  86.  
  87.     - vertical motions
  88.  
  89.     - two-character user number registers
  90.  
  91.     - tabs, leaders, and fields
  92.  
  93.     - hyphenation
  94.  
  95.     - environment switching
  96.  
  97. If anyone has a few spare minutes, maybe you could add these? Just kidding!
  98.  
  99.  
  100. Enjoy...
  101.  
  102.  
  103. -Bill Rosenkranz
  104. rosenkra%c1yankee@convex.com
  105.  
  106. ----- Appended on 7 June 1992 17:45 -----------
  107. Linux notes:
  108.  
  109. Well to make this baby I essentially scrapped the make file and had to 
  110. hard code the termcap related stuff for vt100, so if you wonder why
  111. it doesnt work with anything but VT100, that's why.   The whole thing
  112. was statically built so you shouldn't need the gcc 2.12c shared
  113. library file.  I've tested it with the -man option (all that's really
  114. important) and it seems to work.
  115.  
  116. If you manage to get the sources and you feel like making it again,
  117. I did the following (which isn't the best practice but it works for me):
  118.  
  119. gcc -O6 -static -c *.c
  120. gcc -static *.o -o nroff
  121. strip nroff
  122.  
  123. (you can consider that the new makefile, but I'm too lazy to make one)
  124. Remember, key phrase, it works for me.  If you have any problems, 
  125. let me know... 
  126.  
  127. Please read the MANIFEST file to find out where things go... 
  128.  
  129. Please report any errors, comments, suggestions to:
  130. Nathan Laredo
  131. gt7080a@prism.gatech.edu
  132.  
  133. ------ Appended on 7 June 1992 18:00 for source package ------
  134.  
  135. Source notes for Linux nroff:
  136.  
  137. As I said above, I trashed the make file... to make nroff, all you 
  138. need to do is what's in the three lines above.  If you wish to make
  139. a make file, feel free.  It seems to work as is, and at the moment
  140. that's all that counts.
  141.  
  142. There are some careless things that I had to change in the source.
  143. I hard coded the vt100 codes.  This is not good.  If you're able
  144. to get this to work in a more general way, let me know, but it
  145. seems at the moment linux will not support what was done for 
  146. minix in the original sources.   I was not able to make a diff
  147. file.  Sorry.  You probably can make one yourself though.  The
  148. original files that I had to work with were on
  149. wuarchive.wustl.edu somewhere in the systems/minix structure..
  150. use archie to look for it... you'll find it as nroff-1.10p3.tar.Z.
  151.  
  152. You can make diffs from that if you want.  I don't have enough
  153. energy at the moment to do that with exams this week.
  154.  
  155. If you have any comments, questions, or suggestions,
  156. please feel free to mail me at gt7080a@prism.gatech.edu
  157.  
  158. Nathan Laredo
  159. Box 37080
  160. Georgia Institute of Technology
  161. Atlanta, Georgia 30332
  162.  
  163. Please excuse the non-standardness of this release... it's the first.
  164. You can find the compiled binary in nroffbin.tar.Z.
  165.  
  166.